
package MODELO;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;


public class ModeloOrden extends Conexion{
	 private String codigo, cedula, nombre, status;
	 private double total;
      

    public ModeloOrden() {
    	super();
    }

    public boolean registar(){
        boolean sw = false;
        getConexion();
        String tira="INSERT INTO Orden (codigo, cedula, nombre, total ,status ) VALUES(?,?,?,?,?)";
        try {
        	PreparedStatement stam = generarPreparedStatement(tira);
            stam.setString(1, getCodigo());
            stam.setString(2, getCedula());
            stam.setString(3, getNombre());
            stam.setDouble(4, getTotal());
            stam.setString(5, getStatus());
            ejecutarPrepare(stam);
            sw = true;
        } catch (SQLException ex) {
            Logger.getLogger(ModeloProducto.class.getName()).log(Level.SEVERE, null, ex);
        }        
       
        return sw;
    }    

    public void registarProductos(Vector<String> codigos,Vector<Double> cantidades){
        getConexion();
        for (int i = 0; i < codigos.size(); i++) {
            String tira="INSERT INTO ProductoxOrden (cod_ord, cod_pro, cantidad ) VALUES(?,?,?)";
            try {
            	PreparedStatement stam = generarPreparedStatement(tira);
                stam.setString(1, getCodigo());
                stam.setString(2,codigos.elementAt(i));
                stam.setDouble(3, cantidades.elementAt(i));
                ejecutarPrepare(stam);
            } catch (SQLException ex) {
                Logger.getLogger(ModeloOrden.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
       
    }

    public Vector<String []> listarProductos(){
        Vector<String []> v = new Vector<String []>();
        getConexion();
        String sql="SELECT Producto.descripcion , ProductoXOrden.cantidad  FROM  Producto,ProductoXOrden,Orden WHERE Orden.status='A' AND Producto.status='A' AND Producto.codigo=ProductoXOrden.cod_pro AND Orden.codigo=ProductoXOrden.cod_ord AND Orden.codigo=?";
        try {
            PreparedStatement stam = generarPreparedStatement(sql);
            stam.setString(1, getCodigo());
            ResultSet rs= consultarPrepare(stam);
            while (rs.next()){
                String [] s = new String [] {rs.getString(1), ""+rs.getDouble(2)};
                v.add(s);
            }
        } catch (SQLException ex) {
            Logger.getLogger(ModeloProducto.class.getName()).log(Level.SEVERE, null, ex);
        }
        return v;
  }
    public int contarOrdenes(){
        getConexion();
        String sql="SELECT COUNT(*) from Orden WHERE status='A'";
        try {
        	ResultSet rs = consultar(sql);
            while (rs.next()){
            	return rs.getInt(1)+1;
            }
        } catch (SQLException ex) {
            Logger.getLogger(ModeloProducto.class.getName()).log(Level.SEVERE, null, ex);
        }
        return 0;
  }

	public String getCodigo() {
		return codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}

	public String getCedula() {
		return cedula;
	}

	public void setCedula(String cedula) {
		this.cedula = cedula;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public double getTotal() {
		return total;
	}

	public void setTotal(double total) {
		this.total = total;
	}
}
